package main

import (
	"GORM_Demo04/part07/TestStruct"
	"fmt"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

/**
多对多添查询数据
	--关联数据需要操作的是创建索引的结构体
	--使用Preload进行多表联查
    db.Preload("Course").Find(&student, "s_id = ?", 1)
*/

func main() {
	db, err := gorm.Open("mysql", "root:123456@tcp(192.168.11.189:3306)/lztest?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		panic(err)
	}
	defer db.Close()

	//需要先创建两张表
	db.CreateTable(&TestStruct.Student{})
	db.CreateTable(&TestStruct.Course{})

	//先定义一个
	var student []TestStruct.Student
	//只能查自己表
	db.First(&student, "s_id = ?", 1)
	fmt.Println(&student)

	//使用Preload可以实现多对多的表联查
	db.Preload("Course").Find(&student, "s_id = ?", 1)

	fmt.Println(&student)

}
